﻿using System.Data;
using System.Data.Odbc;

namespace crm.model
{
    public class EmpresasDao : Conexao
    {
        Conexao c = new Conexao();

        public bool inserir(Empresas obj)
        {
            colParams.Clear();
            string query = "insert into empresas (nome, cnpj, telefone, fax, fkidpais, fkidestado, fkidcidade, website, fkidstatus) values (?, ?, ?, ?, ?, ?, ?, ?, ?);";
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@cnpj", obj.CNPJ));
            colParams.Add(new OdbcParameter("@telefone", obj.Telefone));
            colParams.Add(new OdbcParameter("@fax", obj.Fax));
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            colParams.Add(new OdbcParameter("@fkidcidade", obj.FkIdCidade));
            colParams.Add(new OdbcParameter("@website", obj.Website));
            colParams.Add(new OdbcParameter("@fkidstatus", obj.status));
            return c.Executar(query, colParams);
        }

        public DataTable consultar()
        {
            string query = "select * from vw_empresas";
            return c.ExecutarConsulta(query);
        }

        public DataTable consultar(int id)
        {
            colParams.Clear();
            string query = "select * from empresas where idEmpresas = ? and fkidstatus = 0;";
            colParams.Add(new OdbcParameter("@idEmpresas", id));
            return c.ExecutarConsulta(query, colParams);
        }

        public DataTable consultar(string nome)
        {
            colParams.Clear();
            string query = "select * from empresas  where nome like ?;";
            colParams.Add(new OdbcParameter("@nome", nome));
            return c.ExecutarConsulta(query, colParams);
        }

        public bool atualizar(Empresas obj)
        {
            colParams.Clear();
            string query = "update empresas set nome = ?, cnpj = ?, telefone = ?, fax = ?, fkidpais = ?, fkidestado = ?, fkidcidade = ?, website = ? where IdEmpresas = ?;";
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@cnpj", obj.CNPJ));
            colParams.Add(new OdbcParameter("@telefone", obj.Telefone));
            colParams.Add(new OdbcParameter("@fax", obj.Fax));
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            colParams.Add(new OdbcParameter("@fkidcidade", obj.FkIdCidade));
            colParams.Add(new OdbcParameter("@website", obj.Website));
            colParams.Add(new OdbcParameter("@idEmpresas", obj.IdEmpresas));
            return c.Executar(query, colParams);
        }

        public bool remover(int id)
        {
            colParams.Clear();
            string query = "update empresas set fkidstatus = 1 where IdEmpresas = ?;";
            colParams.Add(new OdbcParameter("@idEmpresas", id));
            return c.Executar(query, colParams);
        }
    }
}
